Service Layer

Multiple load tests were conducted for Service Layer REST APIs with a 4-JVM cluster. The objective of the test was to determine the maximum sustainable throughput while keeping database server health within acceptable limits. The cluster topology consisted of 2 JVMs deployed across two virtual machines, which were load balanced using a virtual load balancer. Throughput was observed to be 100 requests per second when tested with 250 concurrent users. The total test duration was 70 minutes, consisting of a 10-minute ramp-up period followed by a 60-minute steady-state execution window used for performance measurements.

 

DB Connection Pool Size

#

Data Source Name

Parameters

1

SERVICEDATASOURCE

maxActive = 300

maxIdle = 50

minIdle = 10

initialSize = 20

maxWait = 10000

 

JVM Additional Parameters: -XX:+UseG1GC -Xms4g -Xmx4g

Service.Properties

  • application.configurationCacheTimeout=0.

    • Time to cache businessrules, in minutes, before checking data source for updates.

      # For value < 0, never check for updates.

      # For value = 0, never check for updates.

      # For value > 0, check for updates after specified minutes have passed.

  • Application Mode= PRODUCTION

  • jpa.showSql=false

Result

 

Note: Please note that above mentioned Properties are suggested purely based on Transaction configuration, List of SQLs involved and hardware specifications. And it can vary depending on configuration/Dump size and hardware specifications.

Service Layer on Oracle DB

DB CPU Utilization

Applications CPU Utilization

DB Memory Utilization

Applications Memory Utilization